def optimal_decomposition(n):
    # 初始化dp数组
    dp = [0] * (n + 1)
    dp[1] = 1  # 1不能被分解，所以乘积为1
 
    for i in range(2, n + 1):
        max_product = 0
        # 尝试所有可能的分解方式
        for j in range(1, i):
            # 因为j和i-j是不同的数，所以直接计算乘积
            product = dp[j] * (i - j) if i - j != j else dp[j] * j  # 处理j=i/2的情况，避免重复计算
            max_product = max(max_product, product)
        dp[i] = max(max_product, i)  # 如果找不到分解方式，则i本身是一个分解方式（即i=i），乘积为i
 
    return dp[n]
 
# 文件输入输出
def main():
    # 从input.txt读取n
    with open('input.txt', 'r') as file:
        n = int(file.readline().strip())
 
    # 计算最优分解的最大乘积
    max_product = optimal_decomposition(n)
 
    # 将结果写入output.txt
    with open('output.txt', 'w') as file:
        file.write(str(max_product))
 
if __name__ == "__main__":
    main()
